<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: ToolInterface类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_tool_interface.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="class_tool_interface-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">ToolInterface类 参考<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>the parent class of all the select and the transform tool classes  
 <a href="class_tool_interface.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="tool_interface_8h_source.html">toolInterface.h</a>&gt;</code></p>
<div class="dynheader">
类 ToolInterface 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_tool_interface.png" usemap="#ToolInterface_map" alt=""/>
  <map id="ToolInterface_map" name="ToolInterface_map">
<area href="class_cloud_transform_tool.html" title="The cloud transform tool computes the transform matrix from user&#39;s mouse operation...." alt="CloudTransformTool" shape="rect" coords="0,56,145,80"/>
<area href="class_select1_d_tool.html" alt="Select1DTool" shape="rect" coords="155,56,300,80"/>
<area href="class_select2_d_tool.html" alt="Select2DTool" shape="rect" coords="310,56,455,80"/>
<area href="class_selection_transform_tool.html" title="The selection transform tool computes the transform matrix from mouse input. It then updates the clou..." alt="SelectionTransformTool" shape="rect" coords="465,56,610,80"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a6cbd00e85c2e49d19bf30ca06a0cf1ab"><td class="memItemLeft" align="right" valign="top"><a id="a6cbd00e85c2e49d19bf30ca06a0cf1ab"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a6cbd00e85c2e49d19bf30ca06a0cf1ab">~ToolInterface</a> ()</td></tr>
<tr class="memdesc:a6cbd00e85c2e49d19bf30ca06a0cf1ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a6cbd00e85c2e49d19bf30ca06a0cf1ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ede982d2daba0589ff7c1034feed76c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a5ede982d2daba0589ff7c1034feed76c">start</a> (int x, int y, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> modifiers, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> buttons)=0</td></tr>
<tr class="memdesc:a5ede982d2daba0589ff7c1034feed76c"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the initial state of the tool from the screen coordinates of the mouse as well as the value of the modifier.  <a href="class_tool_interface.html#a5ede982d2daba0589ff7c1034feed76c">更多...</a><br /></td></tr>
<tr class="separator:a5ede982d2daba0589ff7c1034feed76c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab93188bd97a99ede4370d1917d66e35a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#ab93188bd97a99ede4370d1917d66e35a">update</a> (int x, int y, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> modifiers, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> buttons)=0</td></tr>
<tr class="memdesc:ab93188bd97a99ede4370d1917d66e35a"><td class="mdescLeft">&#160;</td><td class="mdescRight">update the state of the tool from the screen coordinates of the mouse as well as the value of the modifier.  <a href="class_tool_interface.html#ab93188bd97a99ede4370d1917d66e35a">更多...</a><br /></td></tr>
<tr class="separator:ab93188bd97a99ede4370d1917d66e35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb40ef19c64340bf59b135fbe2df84a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a4fb40ef19c64340bf59b135fbe2df84a">end</a> (int x, int y, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> modifiers, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> buttons)=0</td></tr>
<tr class="memdesc:a4fb40ef19c64340bf59b135fbe2df84a"><td class="mdescLeft">&#160;</td><td class="mdescRight">set final state of the tool from the screen coordinates of the mouse as well as the value of the modifier. Also performs the corresponding functionalities of the tool.  <a href="class_tool_interface.html#a4fb40ef19c64340bf59b135fbe2df84a">更多...</a><br /></td></tr>
<tr class="separator:a4fb40ef19c64340bf59b135fbe2df84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a343cb70ca884519bd09b50ce5e599c49"><td class="memItemLeft" align="right" valign="top"><a id="a343cb70ca884519bd09b50ce5e599c49"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a343cb70ca884519bd09b50ce5e599c49">draw</a> () const =0</td></tr>
<tr class="memdesc:a343cb70ca884519bd09b50ce5e599c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">a rendering facility used by a tool. For instance, if this tool is a selection tool, this function draws highlighted points as well as selection region, e.g., rubberband, box, etc. <br /></td></tr>
<tr class="separator:a343cb70ca884519bd09b50ce5e599c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a998b140ab5373f0fe15571e485eaadd7"><td class="memItemLeft" align="right" valign="top"><a id="a998b140ab5373f0fe15571e485eaadd7"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a998b140ab5373f0fe15571e485eaadd7">ToolInterface</a> ()</td></tr>
<tr class="memdesc:a998b140ab5373f0fe15571e485eaadd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor <br /></td></tr>
<tr class="separator:a998b140ab5373f0fe15571e485eaadd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a03967bd41a60798eabfebbe2ca3b73a3"><td class="memItemLeft" align="right" valign="top"><a id="a03967bd41a60798eabfebbe2ca3b73a3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a03967bd41a60798eabfebbe2ca3b73a3">ToolInterface</a> (const <a class="el" href="class_tool_interface.html">ToolInterface</a> &amp;)</td></tr>
<tr class="memdesc:a03967bd41a60798eabfebbe2ca3b73a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor - tools are non-copyable <br /></td></tr>
<tr class="separator:a03967bd41a60798eabfebbe2ca3b73a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21ed48c54f961b92bb7f4014cf46b257"><td class="memItemLeft" align="right" valign="top"><a id="a21ed48c54f961b92bb7f4014cf46b257"></a>
<a class="el" href="class_tool_interface.html">ToolInterface</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a21ed48c54f961b92bb7f4014cf46b257">operator=</a> (const <a class="el" href="class_tool_interface.html">ToolInterface</a> &amp;)</td></tr>
<tr class="memdesc:a21ed48c54f961b92bb7f4014cf46b257"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equal operator - tools are non-copyable <br /></td></tr>
<tr class="separator:a21ed48c54f961b92bb7f4014cf46b257"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>the parent class of all the select and the transform tool classes </p>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a4fb40ef19c64340bf59b135fbe2df84a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fb40ef19c64340bf59b135fbe2df84a">&#9670;&nbsp;</a></span>end()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ToolInterface::end </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>buttons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set final state of the tool from the screen coordinates of the mouse as well as the value of the modifier. Also performs the corresponding functionalities of the tool. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>the x coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">y</td><td>the y coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">modifiers</td><td>The keyboard modifiers. We use modifier to change the behavior of a tool. Values of a modifier can be control key, alt key shift key, or no key is pressed. See the subclasses of this class for specific usages of the modifiers. </td></tr>
    <tr><td class="paramname">buttons</td><td>The state of the mouse buttons </td></tr>
  </table>
  </dd>
</dl>

<p>在 <a class="el" href="class_cloud_transform_tool.html#a90e6bf1cd565d359443ff5da4bd0f447">CloudTransformTool</a>, <a class="el" href="class_select2_d_tool.html#a955e733dc62c378307e4e1efba3555df">Select2DTool</a>, <a class="el" href="class_selection_transform_tool.html#ad79092f5a3ff8495ff4430c182be8e5a">SelectionTransformTool</a> , 以及 <a class="el" href="class_select1_d_tool.html#a769abdefb97415c793cfb12829ba1197">Select1DTool</a> 内被实现.</p>

</div>
</div>
<a id="a5ede982d2daba0589ff7c1034feed76c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ede982d2daba0589ff7c1034feed76c">&#9670;&nbsp;</a></span>start()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ToolInterface::start </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>buttons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the initial state of the tool from the screen coordinates of the mouse as well as the value of the modifier. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>the x coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">y</td><td>the y coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">modifiers</td><td>The keyboard modifiers. We use modifier to change the behavior of a tool. Values of a modifier can be control key, alt key shift key, or no key is pressed. See the subclasses of this class for specific usages of the modifiers. </td></tr>
    <tr><td class="paramname">buttons</td><td>The state of the mouse buttons </td></tr>
  </table>
  </dd>
</dl>

<p>在 <a class="el" href="class_select1_d_tool.html#aca125086d4d989b1ec68dd26ecc39244">Select1DTool</a>, <a class="el" href="class_select2_d_tool.html#a91b1aa44938842835990f1b02fc905ec">Select2DTool</a>, <a class="el" href="class_selection_transform_tool.html#a61a677d4ffe765344e26d155aad4dc9b">SelectionTransformTool</a> , 以及 <a class="el" href="class_cloud_transform_tool.html#a081e5d9518e52f0d1babe16f50e7f727">CloudTransformTool</a> 内被实现.</p>

</div>
</div>
<a id="ab93188bd97a99ede4370d1917d66e35a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab93188bd97a99ede4370d1917d66e35a">&#9670;&nbsp;</a></span>update()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ToolInterface::update </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>buttons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>update the state of the tool from the screen coordinates of the mouse as well as the value of the modifier. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>the x coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">y</td><td>the y coordinate of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">modifiers</td><td>The keyboard modifiers. We use modifier to change the behavior of a tool. Values of a modifier can be control key, alt key shift key, or no key is pressed. See the subclasses of this class for specific usages of the modifiers. </td></tr>
    <tr><td class="paramname">buttons</td><td>The state of the mouse buttons </td></tr>
  </table>
  </dd>
</dl>

<p>在 <a class="el" href="class_select1_d_tool.html#a921dcc9f5822d344f961154e599cebb3">Select1DTool</a>, <a class="el" href="class_select2_d_tool.html#a5571bbd1e8fb45f653019f58f9747851">Select2DTool</a>, <a class="el" href="class_selection_transform_tool.html#ada11f1b70b253a6be1b2daa85f7c6f7e">SelectionTransformTool</a> , 以及 <a class="el" href="class_cloud_transform_tool.html#a7db6d4bb46cdd38292268dd8ee04dfe9">CloudTransformTool</a> 内被实现.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>apps/point_cloud_editor/include/pcl/apps/point_cloud_editor/<a class="el" href="tool_interface_8h_source.html">toolInterface.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_tool_interface.html">ToolInterface</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
